01. 欢迎!

大家好,我是 Mat!
欢迎!
欢迎来到本章节!在这节课,你将学习如何使用 PyTorch 构建深度学习模型。PyTorch 于 2017 年初推出,给深度学习社区带来了深远的影响。它是由 Facebook AI 研发团队开发的,已经被各行各业和各个学术领域采用。根据我个人的经验,它是训练神经网络的最佳框架,并且使用起来很方便。本课的目标是训练一个能对猫狗图像进行分类的深度学习模型。
首先,我将简单介绍下 PyTorch,特别是张量,它是 PyTorch 的主要数据结构。我将演示如何创建张量、如何完成简单的运算,以及张量如何与 Numpy 交互。
然后,你将学习模块 Autograd,PyTorch 会使用该模块计算在训练神经网络过程中用到的梯度。Autograd 非常强大。你可以用它完成整个反向传播工作:计算网络中每个运算的梯度,然后使用这些梯度更新网络权重。
接着,你将使用 PyTorch 构建网络并使数据前向经过网络。然后,你将定义损失和优化方法,并用手写数字数据集训练神经网络。你还将学习通过验证步骤测试网络的泛化能力。
然而,一个潜在问题是网络在处理复杂图像方面的效果不太好。所以我们会接着学习如何使用预训练的网络改善分类器的效果,这种技巧称为迁移学习。
请跟着视频操作并完成 notebook 中的练习。如果遇到问题,视频和 notebook里会提供一些解决方案。
获取 notebook
我们将在课堂里提供这节课的 notebook,但是如果你希望在本地操作,请按照以下说明设置环境并准备学习课程!
这节课的所有 notebook 都可以在 GitHub 上的深度学习代码库中找到。请通过在终端里输入以下命令:
git clone https://github.com/udacity/deep-learning-v2-pytorch.git
克隆代码库。然后在代码库里转到 intro-to-pytorch
目录。
请在 notebook 中跟着操作并完成练习。我还会在视频里和标记为 (Solution)
的 notebook 中提供解决方案。
运行环境
这些 notebook 需要 PyTorch v0.4 或更高版本以及 torchvision。要在本地安装 PyTorch 和 torchvision,最简单的方法是按照 PyTorch 官网上的说明操作。根据你的操作系统和 Python 选择合适的版本以及安装方式。你还需要安装 numpy 和 jupyter notebook,安装最新版本应该就可以了。我们推荐使用conda 软件包管理器。
conda install numpy jupyter notebook
如果你尚未使用过 conda,请阅读此文档,了解如何创建环境并安装软件包。我建议安装 Miniconda,而不是整个 Anaconda 发行版。普通的软件包管理器 pip 也可以。你可以自行选择。
本系列课程的最后一部分要求用 GPU 加速网络计算过程,这不是硬性要求。即使没有 GPU,你依然能运行代码并完成练习。PyTorch 使用CUDA 在 GPU 上加速运算过程。如果你有 CUDA 支持的 GPU,你在使用 conda 安装 PyTorch 时,就能够安装所有必要的库。如果你无法使用本地 GPU,可以考虑使用云端平台在 GPU 上训练网络,例如 AWS、GCP 和 FloydHub。
纳米学位课程还在课堂里提供了 GPU workspace 以及 AWS 积分。
反馈
如果你在使用 notebook 时遇到问题,请联系支持团队或在代码库中提交问题。我们将根据你的反馈改进课程。